home *** CD-ROM | disk | FTP | other *** search
open in:
MacOS 8.1
|
Win98
|
DOS
browse contents |
view JSON data
|
view as text
This file was processed as: Mailbox/MIME Entity
(archive/mbox).
Confidence | Program | Detection | Match Type | Support
|
---|
100%
| dexvert
| Mailbox/MIME Entity (archive/mbox)
| magic
| Supported |
1%
| dexvert
| Text File (text/txt)
| fallback
| Supported |
100%
| file
| Mailbox text, 1st line "From : C.Dimitrakakis (MBGE4CD1@fs1.ee.man.ac.uk)", ASCII text
| default
| |
100%
| checkBytes
| Printable ASCII
| default
| |
100%
| perlTextCheck
| Likely Text (Perl)
| default
| |
100%
| siegfried
| x-fmt/111 Plain Text File
| default
| |
100%
| detectItEasy
| Format: Plain text[LF]
| default
| |
100%
| xdgMime
| application/mbox
| default (weak)
|
|
hex view+--------+-------------------------+-------------------------+--------+--------+
|00000000| 46 72 6f 6d 20 20 20 20 | 3a 20 43 2e 44 69 6d 69 |From |: C.Dimi|
|00000010| 74 72 61 6b 61 6b 69 73 | 20 28 4d 42 47 45 34 43 |trakakis| (MBGE4C|
|00000020| 44 31 40 66 73 31 2e 65 | 65 2e 6d 61 6e 2e 61 63 |D1@fs1.e|e.man.ac|
|00000030| 2e 75 6b 29 0a 53 75 62 | 6a 65 63 74 20 3a 20 52 |.uk).Sub|ject : R|
|00000040| 65 64 75 63 69 6e 67 20 | 63 6f 6c 6f 72 73 20 6f |educing |colors o|
|00000050| 66 20 61 20 73 68 61 70 | 65 2c 20 77 69 74 68 20 |f a shap|e, with |
|00000060| 64 69 74 68 65 72 69 6e | 67 2e 0a 0a 4f 6b 2c 20 |ditherin|g...Ok, |
|00000070| 74 68 69 73 20 69 73 20 | 74 68 65 20 65 78 74 65 |this is |the exte|
|00000080| 6e 64 65 6e 64 20 76 65 | 72 73 69 6f 6e 20 77 69 |ndend ve|rsion wi|
|00000090| 74 68 20 64 69 74 68 65 | 72 69 6e 67 21 0a 52 61 |th dithe|ring!.Ra|
|000000a0| 74 65 20 61 6e 64 20 72 | 32 20 61 72 65 20 74 68 |te and r|2 are th|
|000000b0| 65 20 72 61 74 65 73 20 | 6f 66 20 70 72 6f 70 6f |e rates |of propo|
|000000c0| 72 74 69 6f 6e 61 6c 69 | 74 79 20 20 6f 66 0a 64 |rtionali|ty of.d|
|000000d0| 69 74 68 65 72 20 63 6f | 6c 6f 75 72 20 75 73 61 |ither co|lour usa|
|000000e0| 67 65 2e 20 28 48 6f 77 | 20 6d 75 63 68 20 25 20 |ge. (How| much % |
|000000f0| 77 69 6c 6c 20 62 65 20 | 75 73 65 64 20 66 6f 72 |will be |used for|
|00000100| 20 65 61 63 68 20 63 6f | 6c 6f 75 72 29 0a 41 6e | each co|lour).An|
|00000110| 79 77 61 79 2c 20 74 68 | 69 73 20 69 73 20 2a 6e |yway, th|is is *n|
|00000120| 6f 74 2a 20 74 68 65 20 | 63 6f 72 72 65 63 74 20 |ot* the |correct |
|00000130| 72 61 74 65 2e 20 49 74 | 20 69 73 20 6a 75 73 74 |rate. It| is just|
|00000140| 20 61 6e 20 65 73 74 69 | 6d 61 74 65 2e 0a 46 6f | an esti|mate..Fo|
|00000150| 72 20 61 20 63 6f 72 72 | 65 63 74 20 72 61 74 65 |r a corr|ect rate|
|00000160| 0a 69 66 20 74 68 65 20 | 64 69 74 68 65 72 69 6e |.if the |ditherin|
|00000170| 67 20 70 61 69 72 20 69 | 73 20 72 65 70 72 65 73 |g pair i|s repres|
|00000180| 65 6e 74 65 64 20 62 79 | 20 74 68 65 20 70 6f 69 |ented by| the poi|
|00000190| 6e 74 73 20 41 2c 42 20 | 69 6e 20 73 70 61 63 65 |nts A,B |in space|
|000001a0| 0a 61 6e 64 20 70 6f 69 | 6e 74 20 54 20 72 65 70 |.and poi|nt T rep|
|000001b0| 72 65 73 65 6e 74 73 20 | 74 68 65 20 6f 72 69 67 |resents |the orig|
|000001c0| 69 6e 61 6c 20 63 6f 6c | 6f 72 2c 0a 74 68 65 6e |inal col|or,.then|
|000001d0| 20 66 69 6e 64 20 70 6f | 69 6e 74 20 43 20 77 68 | find po|int C wh|
|000001e0| 65 72 65 20 41 42 20 61 | 6e 64 20 54 43 20 69 6e |ere AB a|nd TC in|
|000001f0| 74 65 72 73 65 63 74 2c | 20 77 69 74 68 20 54 43 |tersect,| with TC|
|00000200| 20 62 65 69 6e 67 0a 70 | 65 72 70 65 6e 64 69 63 | being.p|erpendic|
|00000210| 75 6c 61 72 20 74 6f 20 | 41 42 2c 20 74 68 75 73 |ular to |AB, thus|
|00000220| 20 66 69 6e 64 69 6e 67 | 20 74 68 65 20 72 61 74 | finding| the rat|
|00000230| 69 6f 20 41 43 2f 42 43 | 0a 0a 41 6c 74 6f 75 67 |io AC/BC|..Altoug|
|00000240| 68 20 74 68 61 74 20 61 | 62 6f 76 65 20 67 69 76 |h that a|bove giv|
|00000250| 65 73 20 79 6f 75 20 61 | 6c 77 61 79 73 20 74 68 |es you a|lways th|
|00000260| 65 20 63 6f 72 72 65 63 | 74 20 72 61 74 69 6f 2c |e correc|t ratio,|
|00000270| 0a 74 68 69 73 20 6f 6e | 65 20 69 73 20 61 6c 6d |.this on|e is alm|
|00000280| 6f 73 74 20 61 73 20 67 | 6f 6f 64 2e 20 28 62 75 |ost as g|ood. (bu|
|00000290| 74 20 6e 6f 74 20 61 6c | 77 61 79 73 29 2c 0a 62 |t not al|ways),.b|
|000002a0| 75 74 20 69 73 20 61 20 | 6c 6f 74 2c 6c 6f 74 20 |ut is a |lot,lot |
|000002b0| 66 61 73 74 65 72 2e 0a | 53 6f 2c 20 74 61 6b 65 |faster..|So, take|
|000002c0| 20 61 20 6c 6f 6f 6b 3a | 0a 0a 2a 2a 2a 2a 2a 2a | a look:|..******|
|000002d0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000002e0| 2a 2a 2a 0a 0a 53 43 52 | 45 45 4e 20 31 31 0a 73 |***..SCR|EEN 11.s|
|000002f0| 6f 75 72 63 65 73 20 3d | 20 34 0a 74 61 72 67 65 |ources =| 4.targe|
|00000300| 74 73 20 3d 20 38 0a 64 | 65 70 74 68 20 3d 20 31 |ts = 8.d|epth = 1|
|00000310| 36 0a 52 41 4e 44 4f 4d | 49 5a 45 20 54 49 4d 45 |6.RANDOM|IZE TIME|
|00000320| 52 0a 44 49 4d 20 72 28 | 73 6f 75 72 63 65 73 29 |R.DIM r(|sources)|
|00000330| 2c 20 67 28 73 6f 75 72 | 63 65 73 29 2c 20 62 28 |, g(sour|ces), b(|
|00000340| 73 6f 75 72 63 65 73 29 | 0a 44 49 4d 20 72 65 64 |sources)|.DIM red|
|00000350| 28 74 61 72 67 65 74 73 | 29 2c 20 67 72 65 65 6e |(targets|), green|
|00000360| 28 74 61 72 67 65 74 73 | 29 2c 20 62 6c 75 65 28 |(targets|), blue(|
|00000370| 74 61 72 67 65 74 73 29 | 0a 44 49 4d 20 72 64 28 |targets)|.DIM rd(|
|00000380| 74 61 72 67 65 74 73 29 | 2c 20 67 64 28 74 61 72 |targets)|, gd(tar|
|00000390| 67 65 74 73 29 2c 20 62 | 64 28 74 61 72 67 65 74 |gets), b|d(target|
|000003a0| 73 29 0a 0a 27 53 65 74 | 74 69 6e 67 20 75 70 20 |s)..'Set|ting up |
|000003b0| 49 6e 69 74 69 61 6c 20 | 63 6f 6c 6f 75 72 73 0a |Initial |colours.|
|000003c0| 0a 46 4f 52 20 6e 20 3d | 20 31 20 54 4f 20 73 6f |.FOR n =| 1 TO so|
|000003d0| 75 72 63 65 73 0a 20 20 | 20 72 28 6e 29 20 3d 20 |urces. | r(n) = |
|000003e0| 49 4e 54 28 52 4e 44 20 | 2a 20 64 65 70 74 68 29 |INT(RND |* depth)|
|000003f0| 0a 20 20 20 67 28 6e 29 | 20 3d 20 49 4e 54 28 52 |. g(n)| = INT(R|
|00000400| 4e 44 20 2a 20 64 65 70 | 74 68 29 0a 20 20 20 62 |ND * dep|th). b|
|00000410| 28 6e 29 20 3d 20 49 4e | 54 28 52 4e 44 20 2a 20 |(n) = IN|T(RND * |
|00000420| 64 65 70 74 68 29 0a 20 | 20 20 50 52 49 4e 54 20 |depth). | PRINT |
|00000430| 72 28 6e 29 2c 20 67 28 | 6e 29 2c 20 62 28 6e 29 |r(n), g(|n), b(n)|
|00000440| 0a 4e 45 58 54 20 6e 0a | 0a 50 52 49 4e 54 20 22 |.NEXT n.|.PRINT "|
|00000450| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000460| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000470| 2d 2d 2d 2d 2d 22 0a 0a | 27 73 65 74 74 69 6e 67 |-----"..|'setting|
|00000480| 20 74 61 72 67 65 74 20 | 63 6f 6c 6f 75 72 73 0a | target |colours.|
|00000490| 46 4f 52 20 6e 20 3d 20 | 31 20 54 4f 20 74 61 72 |FOR n = |1 TO tar|
|000004a0| 67 65 74 73 0a 20 20 20 | 72 65 64 28 6e 29 20 3d |gets. |red(n) =|
|000004b0| 20 49 4e 54 28 52 4e 44 | 20 2a 20 64 65 70 74 68 | INT(RND| * depth|
|000004c0| 29 0a 20 20 20 67 72 65 | 65 6e 28 6e 29 20 3d 20 |). gre|en(n) = |
|000004d0| 49 4e 54 28 52 4e 44 20 | 2a 20 64 65 70 74 68 29 |INT(RND |* depth)|
|000004e0| 0a 20 20 20 62 6c 75 65 | 28 6e 29 20 3d 20 49 4e |. blue|(n) = IN|
|000004f0| 54 28 52 4e 44 20 2a 20 | 64 65 70 74 68 29 0a 50 |T(RND * |depth).P|
|00000500| 52 49 4e 54 20 72 65 64 | 28 6e 29 2c 20 67 72 65 |RINT red|(n), gre|
|00000510| 65 6e 28 6e 29 2c 20 62 | 6c 75 65 28 6e 29 0a 4e |en(n), b|lue(n).N|
|00000520| 45 58 54 20 6e 0a 0a 27 | 72 65 6d 61 70 20 63 6f |EXT n..'|remap co|
|00000530| 6c 6f 75 72 73 0a 46 4f | 52 20 6d 20 3d 20 31 20 |lours.FO|R m = 1 |
|00000540| 54 4f 20 73 6f 75 72 63 | 65 73 0a 20 20 20 50 52 |TO sourc|es. PR|
|00000550| 49 4e 54 20 22 53 6f 75 | 72 63 65 22 2c 20 72 28 |INT "Sou|rce", r(|
|00000560| 6d 29 2c 20 67 28 6d 29 | 2c 20 62 28 6d 29 0a 20 |m), g(m)|, b(m). |
|00000570| 20 20 64 64 20 3d 20 2d | 31 0a 20 20 20 73 65 6c | dd = -|1. sel|
|00000580| 20 3d 20 2d 31 0a 20 20 | 20 20 20 20 46 4f 52 20 | = -1. | FOR |
|00000590| 6e 20 3d 20 31 20 54 4f | 20 74 61 72 67 65 74 73 |n = 1 TO| targets|
|000005a0| 0a 20 20 20 20 20 20 20 | 20 20 64 72 20 3d 20 72 |. | dr = r|
|000005b0| 65 64 28 6e 29 20 2d 20 | 72 28 6d 29 0a 20 20 20 |ed(n) - |r(m). |
|000005c0| 20 20 20 20 20 20 64 67 | 20 3d 20 67 72 65 65 6e | dg| = green|
|000005d0| 28 6e 29 20 2d 20 67 28 | 6d 29 0a 20 20 20 20 20 |(n) - g(|m). |
|000005e0| 20 20 20 20 64 62 20 3d | 20 62 6c 75 65 28 6e 29 | db =| blue(n)|
|000005f0| 20 2d 20 62 28 6d 29 0a | 20 20 20 20 20 20 20 20 | - b(m).| |
|00000600| 20 64 20 3d 20 53 51 52 | 28 64 72 20 5e 20 32 20 | d = SQR|(dr ^ 2 |
|00000610| 2b 20 64 67 20 5e 20 32 | 20 2b 20 64 62 20 5e 20 |+ dg ^ 2| + db ^ |
|00000620| 32 29 0a 20 20 20 20 20 | 20 20 20 20 27 50 52 49 |2). | 'PRI|
|00000630| 4e 54 20 72 65 64 28 6e | 29 2c 20 67 72 65 65 6e |NT red(n|), green|
|00000640| 28 6e 29 2c 20 62 6c 75 | 65 28 6e 29 2c 20 64 0a |(n), blu|e(n), d.|
|00000650| 20 20 20 20 20 20 20 20 | 20 49 46 20 64 64 20 3c | | IF dd <|
|00000660| 3e 20 2d 31 20 54 48 45 | 4e 20 27 69 66 20 74 68 |> -1 THE|N 'if th|
|00000670| 65 72 65 20 68 61 73 20 | 62 65 65 6e 20 61 20 70 |ere has |been a p|
|00000680| 72 65 76 69 6f 75 73 20 | 73 65 6c 65 63 74 69 6f |revious |selectio|
|00000690| 6e 0a 20 20 20 20 20 20 | 20 20 20 20 20 20 49 46 |n. | IF|
|000006a0| 20 64 20 3c 20 64 64 20 | 54 48 45 4e 20 27 63 6f | d < dd |THEN 'co|
|000006b0| 6d 70 61 72 65 20 73 65 | 6c 65 63 74 69 6f 6e 73 |mpare se|lections|
|000006c0| 0a 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |. | |
|000006d0| 64 64 20 3d 20 64 20 27 | 73 65 6c 65 63 74 20 6e |dd = d '|select n|
|000006e0| 65 77 20 63 6f 6c 6f 72 | 20 69 66 0a 20 20 20 20 |ew color| if. |
|000006f0| 20 20 20 20 20 20 20 20 | 20 20 20 73 65 6c 20 3d | | sel =|
|00000700| 20 6e 20 27 6e 65 77 20 | 74 61 72 67 65 74 20 63 | n 'new |target c|
|00000710| 6c 6f 73 65 72 20 74 6f | 20 73 6f 75 72 63 65 20 |loser to| source |
|00000720| 63 6f 6c 6f 72 0a 20 20 | 20 20 20 20 20 20 20 20 |color. | |
|00000730| 20 20 45 4e 44 20 49 46 | 0a 20 20 20 20 20 20 20 | END IF|. |
|00000740| 20 20 45 4c 53 45 20 20 | 20 20 20 20 20 20 27 69 | ELSE | 'i|
|00000750| 66 20 74 68 65 72 65 20 | 77 61 73 20 6e 6f 20 70 |f there |was no p|
|00000760| 72 65 76 69 6f 75 73 20 | 73 65 6c 65 63 74 69 6f |revious |selectio|
|00000770| 6e 0a 20 20 20 20 20 20 | 20 20 20 20 20 20 64 64 |n. | dd|
|00000780| 20 3d 20 64 20 20 20 27 | 73 65 6c 65 63 74 20 6e | = d '|select n|
|00000790| 65 77 20 63 6f 6c 6f 72 | 0a 20 20 20 20 20 20 20 |ew color|. |
|000007a0| 20 20 20 20 20 73 65 6c | 20 3d 20 6e 0a 20 20 20 | sel| = n. |
|000007b0| 20 20 20 20 20 20 45 4e | 44 20 49 46 0a 20 20 20 | EN|D IF. |
|000007c0| 4e 45 58 54 20 6e 0a 27 | 73 68 6f 77 20 73 65 6c |NEXT n.'|show sel|
|000007d0| 65 63 74 65 64 20 63 6f | 6c 6f 72 0a 20 20 20 50 |ected co|lor. P|
|000007e0| 52 49 4e 54 20 22 54 61 | 72 67 65 74 22 2c 20 72 |RINT "Ta|rget", r|
|000007f0| 65 64 28 73 65 6c 29 2c | 20 67 72 65 65 6e 28 73 |ed(sel),| green(s|
|00000800| 65 6c 29 2c 20 62 6c 75 | 65 28 73 65 6c 29 2c 20 |el), blu|e(sel), |
|00000810| 64 64 0a 0a 27 63 72 65 | 61 74 65 20 74 61 62 6c |dd..'cre|ate tabl|
|00000820| 65 20 66 6f 72 20 70 6f | 73 73 69 62 6c 65 20 64 |e for po|ssible d|
|00000830| 69 74 68 65 72 73 0a 0a | 20 20 20 46 4f 52 20 6e |ithers..| FOR n|
|00000840| 20 3d 20 31 20 54 4f 20 | 74 61 72 67 65 74 73 0a | = 1 TO |targets.|
|00000850| 20 20 20 20 20 20 72 64 | 28 6e 29 20 3d 20 28 72 | rd|(n) = (r|
|00000860| 65 64 28 73 65 6c 29 20 | 2b 20 72 65 64 28 6e 29 |ed(sel) |+ red(n)|
|00000870| 29 20 2f 20 32 0a 20 20 | 20 20 20 20 67 64 28 6e |) / 2. | gd(n|
|00000880| 29 20 3d 20 28 67 72 65 | 65 6e 28 73 65 6c 29 20 |) = (gre|en(sel) |
|00000890| 2b 20 67 72 65 65 6e 28 | 6e 29 29 20 2f 20 32 0a |+ green(|n)) / 2.|
|000008a0| 20 20 20 20 20 20 62 64 | 28 6e 29 20 3d 20 28 62 | bd|(n) = (b|
|000008b0| 6c 75 65 28 73 65 6c 29 | 20 2b 20 62 6c 75 65 28 |lue(sel)| + blue(|
|000008c0| 6e 29 29 20 2f 20 32 0a | 20 20 20 4e 45 58 54 20 |n)) / 2.| NEXT |
|000008d0| 6e 0a 0a 27 66 69 6e 64 | 20 62 65 73 74 20 64 69 |n..'find| best di|
|000008e0| 74 68 65 72 69 6e 67 20 | 70 61 69 72 0a 20 20 20 |thering |pair. |
|000008f0| 64 64 32 20 3d 20 2d 31 | 0a 20 20 20 73 65 6c 32 |dd2 = -1|. sel2|
|00000900| 20 3d 20 2d 31 0a 20 20 | 20 46 4f 52 20 6e 20 3d | = -1. | FOR n =|
|00000910| 20 31 20 54 4f 20 74 61 | 72 67 65 74 73 0a 20 20 | 1 TO ta|rgets. |
|00000920| 20 20 20 20 20 20 20 64 | 72 20 3d 20 72 64 28 6e | d|r = rd(n|
|00000930| 29 20 2d 20 72 28 6d 29 | 0a 20 20 20 20 20 20 20 |) - r(m)|. |
|00000940| 20 20 64 67 20 3d 20 67 | 64 28 6e 29 20 2d 20 67 | dg = g|d(n) - g|
|00000950| 28 6d 29 0a 20 20 20 20 | 20 20 20 20 20 64 62 20 |(m). | db |
|00000960| 3d 20 62 64 28 6e 29 20 | 2d 20 62 28 6d 29 0a 20 |= bd(n) |- b(m). |
|00000970| 20 20 20 20 20 20 20 20 | 64 20 3d 20 53 51 52 28 | |d = SQR(|
|00000980| 64 72 20 5e 20 32 20 2b | 20 64 67 20 5e 20 32 20 |dr ^ 2 +| dg ^ 2 |
|00000990| 2b 20 64 62 20 5e 20 32 | 29 0a 27 20 20 20 20 20 |+ db ^ 2|).' |
|000009a0| 20 20 20 20 50 52 49 4e | 54 20 72 64 28 6e 29 2c | PRIN|T rd(n),|
|000009b0| 20 67 64 28 6e 29 2c 20 | 62 64 28 6e 29 2c 20 64 | gd(n), |bd(n), d|
|000009c0| 0a 20 20 20 20 20 20 20 | 20 20 49 46 20 64 64 32 |. | IF dd2|
|000009d0| 20 3c 3e 20 2d 31 20 54 | 48 45 4e 20 27 69 66 20 | <> -1 T|HEN 'if |
|000009e0| 74 68 65 72 65 20 68 61 | 73 20 62 65 65 6e 20 61 |there ha|s been a|
|000009f0| 20 70 72 65 76 69 6f 75 | 73 20 73 65 6c 65 63 74 | previou|s select|
|00000a00| 69 6f 6e 0a 20 20 20 20 | 20 20 20 20 20 20 20 20 |ion. | |
|00000a10| 49 46 20 64 20 3c 20 64 | 64 32 20 54 48 45 4e 20 |IF d < d|d2 THEN |
|00000a20| 27 63 6f 6d 70 61 72 65 | 20 73 65 6c 65 63 74 69 |'compare| selecti|
|00000a30| 6f 6e 73 0a 20 20 20 20 | 20 20 20 20 20 20 20 20 |ons. | |
|00000a40| 20 20 20 64 64 32 20 3d | 20 64 20 27 73 65 6c 65 | dd2 =| d 'sele|
|00000a50| 63 74 20 6e 65 77 20 63 | 6f 6c 6f 72 20 69 66 0a |ct new c|olor if.|
|00000a60| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 73 | | s|
|00000a70| 65 6c 32 20 3d 20 6e 20 | 27 6e 65 77 20 74 61 72 |el2 = n |'new tar|
|00000a80| 67 65 74 20 63 6c 6f 73 | 65 72 20 74 6f 20 73 6f |get clos|er to so|
|00000a90| 75 72 63 65 20 63 6f 6c | 6f 72 0a 20 20 20 20 20 |urce col|or. |
|00000aa0| 20 20 20 20 20 20 20 45 | 4e 44 20 49 46 0a 20 20 | E|ND IF. |
|00000ab0| 20 20 20 20 20 20 20 45 | 4c 53 45 20 20 20 20 20 | E|LSE |
|00000ac0| 20 20 20 27 69 66 20 74 | 68 65 72 65 20 77 61 73 | 'if t|here was|
|00000ad0| 20 6e 6f 20 70 72 65 76 | 69 6f 75 73 20 73 65 6c | no prev|ious sel|
|00000ae0| 65 63 74 69 6f 6e 0a 20 | 20 20 20 20 20 20 20 20 |ection. | |
|00000af0| 20 20 20 64 64 32 20 3d | 20 64 20 20 20 27 73 65 | dd2 =| d 'se|
|00000b00| 6c 65 63 74 20 6e 65 77 | 20 63 6f 6c 6f 72 0a 20 |lect new| color. |
|00000b10| 20 20 20 20 20 20 20 20 | 20 20 20 73 65 6c 32 20 | | sel2 |
|00000b20| 3d 20 6e 0a 20 20 20 20 | 20 20 20 20 20 45 4e 44 |= n. | END|
|00000b30| 20 49 46 0a 20 20 20 4e | 45 58 54 20 6e 0a 20 20 | IF. N|EXT n. |
|00000b40| 20 50 52 49 4e 54 20 22 | 54 61 72 67 65 74 32 22 | PRINT "|Target2"|
|00000b50| 2c 20 72 65 64 28 73 65 | 6c 32 29 2c 20 67 72 65 |, red(se|l2), gre|
|00000b60| 65 6e 28 73 65 6c 32 29 | 2c 20 62 6c 75 65 28 73 |en(sel2)|, blue(s|
|00000b70| 65 6c 32 29 0a 20 20 20 | 50 52 49 4e 54 20 22 41 |el2). |PRINT "A|
|00000b80| 76 65 72 61 67 65 22 2c | 20 72 64 28 73 65 6c 32 |verage",| rd(sel2|
|00000b90| 29 2c 20 67 64 28 73 65 | 6c 32 29 2c 20 62 64 28 |), gd(se|l2), bd(|
|00000ba0| 73 65 6c 32 29 2c 20 64 | 64 32 0a 27 4e 6f 77 2c |sel2), d|d2.'Now,|
|00000bb0| 20 74 61 6b 65 20 61 20 | 6c 6f 6f 6b 20 61 74 20 | take a |look at |
|00000bc0| 74 68 65 20 64 69 73 74 | 61 6e 63 65 73 0a 27 74 |the dist|ances.'t|
|00000bd0| 6f 20 66 69 6e 64 20 74 | 68 65 20 72 61 74 65 20 |o find t|he rate |
|00000be0| 6f 66 20 70 72 6f 70 6f | 72 74 69 6f 6e 61 6c 69 |of propo|rtionali|
|00000bf0| 74 79 0a 20 20 20 72 61 | 74 65 20 3d 20 64 64 32 |ty. ra|te = dd2|
|00000c00| 20 2f 20 64 64 0a 20 20 | 20 50 52 49 4e 54 20 22 | / dd. | PRINT "|
|00000c10| 52 61 74 65 3a 20 22 3b | 20 72 61 74 65 0a 27 61 |Rate: ";| rate.'a|
|00000c20| 6e 64 20 74 68 61 74 20 | 69 73 20 74 68 65 20 72 |nd that |is the r|
|00000c30| 65 73 75 6c 74 20 6f 66 | 20 64 69 74 68 65 72 69 |esult of| ditheri|
|00000c40| 6e 67 0a 20 20 20 72 32 | 20 3d 20 28 31 20 2d 20 |ng. r2| = (1 - |
|00000c50| 72 61 74 65 29 0a 27 74 | 68 65 20 64 69 74 68 65 |rate).'t|he dithe|
|00000c60| 72 65 64 20 63 6f 6c 6f | 75 72 0a 20 20 20 74 72 |red colo|ur. tr|
|00000c70| 20 3d 20 72 65 64 28 73 | 65 6c 29 20 2a 20 72 61 | = red(s|el) * ra|
|00000c80| 74 65 20 2b 20 72 65 64 | 28 73 65 6c 32 29 20 2a |te + red|(sel2) *|
|00000c90| 20 72 32 0a 20 20 20 74 | 67 20 3d 20 67 72 65 65 | r2. t|g = gree|
|00000ca0| 6e 28 73 65 6c 29 20 2a | 20 72 61 74 65 20 2b 20 |n(sel) *| rate + |
|00000cb0| 67 72 65 65 6e 28 73 65 | 6c 32 29 20 2a 20 72 32 |green(se|l2) * r2|
|00000cc0| 0a 20 20 20 74 62 20 3d | 20 62 6c 75 65 28 73 65 |. tb =| blue(se|
|00000cd0| 6c 29 20 2a 20 72 61 74 | 65 20 2b 20 62 6c 75 65 |l) * rat|e + blue|
|00000ce0| 28 73 65 6c 32 29 20 2a | 20 72 32 0a 20 20 20 64 |(sel2) *| r2. d|
|00000cf0| 72 20 3d 20 74 72 20 2d | 20 72 28 6d 29 0a 20 20 |r = tr -| r(m). |
|00000d00| 20 64 67 20 3d 20 74 67 | 20 2d 20 67 28 6d 29 0a | dg = tg| - g(m).|
|00000d10| 20 20 20 64 62 20 3d 20 | 74 62 20 2d 20 62 28 6d | db = |tb - b(m|
|00000d20| 29 0a 27 74 68 65 20 64 | 69 73 74 61 6e 63 65 20 |).'the d|istance |
|00000d30| 6f 66 20 74 68 65 20 64 | 69 74 68 65 72 65 64 20 |of the d|ithered |
|00000d40| 63 6f 6c 6f 75 72 0a 20 | 20 20 74 64 20 3d 20 53 |colour. | td = S|
|00000d50| 51 52 28 64 72 20 5e 20 | 32 20 2b 20 64 67 20 5e |QR(dr ^ |2 + dg ^|
|00000d60| 20 32 20 2b 20 64 62 20 | 5e 20 32 29 0a 20 20 20 | 2 + db |^ 2). |
|00000d70| 50 52 49 4e 54 20 22 44 | 69 74 68 65 72 65 64 22 |PRINT "D|ithered"|
|00000d80| 2c 20 74 72 2c 20 74 67 | 2c 20 74 62 2c 20 74 64 |, tr, tg|, tb, td|
|00000d90| 0a 4e 45 58 54 20 6d 0a | 0a 0a |.NEXT m.|.. |
+--------+-------------------------+-------------------------+--------+--------+